今天我們來談另一類企業會想要的「付費功能」,那就是「稽核」。
在「稽核部門」的世界中,他們會檢查各種合規性,也會要求要保留各種「操作軌跡」與 Audit Log。這邊舉三個例子:
在 GitLab 的功能中,上述三個需求都是「付費功能」,就讓我分別多介紹一些。
在稽核的世界中,任何的「提升權限」的動作都必須有跡可循,因此 User 的「權限異動」必須被記錄下來,供未來查閱。
在 GitLab 付費功能中,即有 Group audit events 與 Project audit events 的功能。讓我們可以查看這些異動紀錄。
續上,當 User、Group、Project 數量越來越多時,你會開始難以查閱到底某個 User 在不同的 Group 與 Project 分別是什麼 Role。
如果是 Self-managed GitLab,在付費等級 Premium,管理者可以利用 User Permission Export 功能,直接匯出一份 .csv
。
如果你不是付費等級,但又想要知道所有 User 在所有 Group 與 Project 分別是哪些 Roles?這裡提供一個免費的做法,那就是自己寫一支程式去戳好幾次 GitLab API 蒐集這些資料,再自己產出一個 Reports。
你可以先用 GitLab API 去查出你有多少 Group 與 Project,接著再用 API 分別去查 Group 與 Project 中有哪些 Members
或者,你可以先用 API 查出有多少 User,然後用 API - List user projects 去逐一列出每一個 User 是哪些 Project 的 Member。
最後,企業的稽核部門除了會要求各家服務要紀錄各種歷史紀錄,通常他們還會要求這些歷史紀錄必須能長久保存一段時間,有些會要求備存原始 Log,有些則只需要備存 Report 即可。
而 Self-managed GitLab 在付費等級 Ultimate,提供了 Audit event streaming for instances 功能,讓管理者可以將 Audit Log 串流至其他的地方儲存,傳送出去的 Log 會被轉換成 JSON 格式,方便後續可以做其他的運用。
在大企業的使用場景中,「稽核」是一塊避不了的重要功能,畢竟當員工一多,實在難保不會出現有心人偷偷的做一些不能見光的事情。
透過這類功能,管理者可以保存重要的使用軌跡與紀錄,讓企業的數位資產能夠多一道保護與檢核機制。
圖片來源 - 吉卜力工作室 https://www.ghibli.jp/works/majo/#&gid=1&pid=29